<?php
require_once('servicio/dao_servicio.php');
class dao_guia
{
	//-----------------------------------------------------------------------------------
	//----Guia--------------------------------------------------------------------
	//-----------------------------------------------------------------------------------
		
	function get_nro_guia($nro_agencia, $cod_tipo_comprobante)
	{
		
		$sql='';
			$sql = "select comprobante.nro_agencia, comprobante.cod_tipo_comprobante,desde,hasta,actual,observacion 
					from comprobante inner join agencia on agencia.nro_agencia = comprobante.nro_agencia
					where 
					comprobante.nro_agencia = '$nro_agencia' and
					comprobante.cod_tipo_comprobante = '$cod_tipo_comprobante'";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs; 
		
	}
	

	function get_nro_guia_ide($nro_agencia, $tipo_comprobante_ide)
	{
		
		$sql='';
			$sql = "SELECT comprobante.nro_agencia,comprobante.cod_tipo_comprobante,desde,hasta,actual,
					comprobante.observacion 
					from comprobante 
					INNER JOIN agencia ON agencia.nro_agencia = comprobante.nro_agencia
					INNER JOIN tipo_comprobante ON tipo_comprobante.cod_tipo_comprobante = 
					comprobante.cod_tipo_comprobante
					WHERE comprobante.nro_agencia = '$nro_agencia' AND 
					tipo_comprobante.abreviatura = '$tipo_comprobante_ide'";
			
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs; 
		
	}
	
	function get_nro_guia_actual_ide($nro_agencia, $cod_tipo_comprobante_ide)
	{
		
		$sql='';
			$sql = "SELECT comprobante_ide.nro_agencia,comprobante_ide.cod_tipo_comprobante,desde,hasta,actual,
					comprobante_ide.observacion 
					FROM comprobante_ide
					INNER JOIN agencia ON agencia.nro_agencia = comprobante_ide.nro_agencia
					INNER JOIN tipo_comprobante ON tipo_comprobante.cod_tipo_comprobante = 
					comprobante_ide.cod_tipo_comprobante
					WHERE comprobante_ide.nro_agencia = '$nro_agencia' AND 
					tipo_comprobante.cod_tipo_comprobante = '$cod_tipo_comprobante_ide';
";
			
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['actual'];
		}
		return $rs; 
		
	}
	
	function get_guias($where=null)
	{
		$sql='';
		if(isset($where)){
		
			$sql = "select (tipo_comprobante.abreviatura||' - '|| nro_guia) as guia, tipo_comprobante.cod_tipo_comprobante,tipo_comprobante.abreviatura as tipo, nro_guia,fecha,
					loc_origen.nombre as localidad_origen, ag_origen.nombre as agencia_origen, 
					ag_destino.nombre as agencia_destino, loc_destino.nombre as localidad_destino, 
					CASE remitente.tipo_cliente When '1' 
						THEN (remitente.nombre || ' ' || rr.abreviatura)  
						Else (remitente.apellido || ', ' || remitente.nombre) 
						END as remitente,
					CASE destinatario.tipo_cliente When '1' 
						THEN (destinatario.nombre || ' ' || rd.abreviatura)  
						Else (destinatario.apellido || ', ' || destinatario.nombre)
						END as destinatario,
					nro_remito,tipo_estado_comprobante.tipo_estado as estado,monto, guia.observacion 
					FROM guia
					INNER JOIN tipo_comprobante on tipo_comprobante.cod_tipo_comprobante = guia.cod_tipo_comprobante
					INNER JOIN cliente as remitente on remitente.nro_cliente = guia.remitente
					INNER JOIN cliente as destinatario on destinatario.nro_cliente = guia.destinatario
					LEFT JOIN razon_social as rr on rr.cod_razon_social = remitente.cod_razon_social
					LEFT JOIN razon_social as rd on rd.cod_razon_social = destinatario.cod_razon_social
					INNER JOIN tipo_estado_comprobante on 
					tipo_estado_comprobante.cod_tipo_estado_comprobante = guia.cod_tipo_estado_comprobante
					INNER JOIN servicio on servicio.cod_servicio = guia.cod_servicio
					INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
					INNER JOIN agencia as ag_destino on ag_destino.nro_agencia = servicio.agencia_destino
					INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
					INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
					WHERE $where ORDER BY tipo_comprobante.abreviatura,nro_guia asc";
		}
		else{
			
			$sql = "select (tipo_comprobante.abreviatura||' - '|| nro_guia) as guia, tipo_comprobante.cod_tipo_comprobante,tipo_comprobante.abreviatura as tipo, nro_guia,fecha,
					loc_origen.nombre as localidad_origen, ag_origen.nombre as agencia_origen, 
					ag_destino.nombre as agencia_destino, loc_destino.nombre as localidad_destino, 
					CASE remitente.tipo_cliente When '1' 
						THEN (remitente.nombre || ' ' || rr.abreviatura)  
						Else (remitente.apellido || ', ' || remitente.nombre) 
						END as remitente,
					CASE destinatario.tipo_cliente When '1' 
						THEN (destinatario.nombre || ' ' || rd.abreviatura)  
						Else (destinatario.apellido || ', ' || destinatario.nombre)
						END as destinatario,
					nro_remito,tipo_estado_comprobante.tipo_estado as estado,monto, guia.observacion 
					FROM guia
					INNER JOIN tipo_comprobante on tipo_comprobante.cod_tipo_comprobante = guia.cod_tipo_comprobante
					INNER JOIN cliente as remitente on remitente.nro_cliente = guia.remitente
					INNER JOIN cliente as destinatario on destinatario.nro_cliente = guia.destinatario
					LEFT JOIN razon_social as rr on rr.cod_razon_social = remitente.cod_razon_social
					LEFT JOIN razon_social as rd on rd.cod_razon_social = destinatario.cod_razon_social
					INNER JOIN tipo_estado_comprobante on 
					tipo_estado_comprobante.cod_tipo_estado_comprobante = guia.cod_tipo_estado_comprobante
					INNER JOIN servicio on servicio.cod_servicio = guia.cod_servicio
					INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
					INNER JOIN agencia as ag_destino on ag_destino.nro_agencia = servicio.agencia_destino
					INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
					INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
					ORDER BY tipo_comprobante.abreviatura,nro_guia asc";
			}	
			
			$rs=consultar_fuente($sql);
			return $rs; 
	}
	
	function get_guias_remito($where=null)
	{
		$sql='';
		if(isset($where)){
		
			$sql = "select (tipo_comprobante.abreviatura||' - '|| nro_guia) as guia, guia.cod_tipo_comprobante,
					tipo_comprobante.abreviatura as tipo, nro_guia,fecha,
					loc_origen.nombre as localidad_origen, ag_origen.nombre as agencia_origen, 
					ag_destino.nombre as agencia_destino, loc_destino.nombre as localidad_destino, 
					CASE remitente.tipo_cliente When '1' 
						THEN (remitente.nombre || ' ' || rr.abreviatura)  
						Else (remitente.apellido || ', ' || remitente.nombre) 
						END as remitente,
					CASE destinatario.tipo_cliente When '1' 
						THEN (destinatario.nombre || ' ' || rd.abreviatura)  
						Else (destinatario.apellido || ', ' || destinatario.nombre)
						END as destinatario,
					nro_remito,tipo_estado_comprobante.tipo_estado as estado,monto, guia.observacion 
					FROM guia
					INNER JOIN tipo_comprobante on tipo_comprobante.cod_tipo_comprobante = guia.cod_tipo_comprobante
					INNER JOIN cliente as remitente on remitente.nro_cliente = guia.remitente
					INNER JOIN cliente as destinatario on destinatario.nro_cliente = guia.destinatario
					LEFT JOIN razon_social as rr on rr.cod_razon_social = remitente.cod_razon_social
					LEFT JOIN razon_social as rd on rd.cod_razon_social = destinatario.cod_razon_social
					INNER JOIN tipo_estado_comprobante on 
					tipo_estado_comprobante.cod_tipo_estado_comprobante = guia.cod_tipo_estado_comprobante
					INNER JOIN servicio on servicio.cod_servicio = guia.cod_servicio
					INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
					INNER JOIN agencia as ag_destino on ag_destino.nro_agencia = servicio.agencia_destino
					INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
					INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
					WHERE $where ORDER BY tipo_comprobante.abreviatura,nro_guia asc";
		}
		else{
			
			$sql = "select (tipo_comprobante.abreviatura||' - '|| nro_guia) as guia, guia.cod_tipo_comprobante,
					tipo_comprobante.abreviatura as tipo, nro_guia,fecha,
					loc_origen.nombre as localidad_origen, ag_origen.nombre as agencia_origen, 
					ag_destino.nombre as agencia_destino, loc_destino.nombre as localidad_destino, 
					CASE remitente.tipo_cliente When '1' 
						THEN (remitente.nombre || ' ' || rr.abreviatura)  
						Else (remitente.apellido || ', ' || remitente.nombre) 
						END as remitente,
					CASE destinatario.tipo_cliente When '1' 
						THEN (destinatario.nombre || ' ' || rd.abreviatura)  
						Else (destinatario.apellido || ', ' || destinatario.nombre)
						END as destinatario,
					nro_remito,tipo_estado_comprobante.tipo_estado as estado,monto, guia.observacion 
					FROM guia
					INNER JOIN tipo_comprobante on tipo_comprobante.cod_tipo_comprobante = guia.cod_tipo_comprobante
					INNER JOIN cliente as remitente on remitente.nro_cliente = guia.remitente
					INNER JOIN cliente as destinatario on destinatario.nro_cliente = guia.destinatario
					LEFT JOIN razon_social as rr on rr.cod_razon_social = remitente.cod_razon_social
					LEFT JOIN razon_social as rd on rd.cod_razon_social = destinatario.cod_razon_social
					INNER JOIN tipo_estado_comprobante on 
					tipo_estado_comprobante.cod_tipo_estado_comprobante = guia.cod_tipo_estado_comprobante
					INNER JOIN servicio on servicio.cod_servicio = guia.cod_servicio
					INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
					INNER JOIN agencia as ag_destino on ag_destino.nro_agencia = servicio.agencia_destino
					INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
					INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
					WHERE tipo_comprobante.abreviatura = 'R'
					ORDER BY tipo_comprobante.abreviatura,nro_guia asc";
			}	
			
			$rs=consultar_fuente($sql);
			return $rs; 
	}
	
	function get_guia($nro_guia,$tipo_comp,$fecha)
	{
		
		$sql='';
			$sql = "select tipo_comprobante.abreviatura as tipo, nro_guia,fecha,
					loc_origen.nombre as localidad_origen, ag_origen.nombre as agencia_origen, 
					ag_destino.nombre as agencia_destino, loc_destino.nombre as localidad_destino, 
					CASE remitente.tipo_cliente When '1' 
						THEN (remitente.nombre || ' ' || rr.abreviatura)  
						Else (remitente.apellido || ', ' || remitente.nombre) 
						END as remitente,
					CASE destinatario.tipo_cliente When '1' 
						THEN (destinatario.nombre || ' ' || rd.abreviatura)  
						Else (destinatario.apellido || ', ' || destinatario.nombre)
						END as destinatario,
					nro_remito,tipo_estado_comprobante.tipo_estado as estado,monto, guia.observacion 
					FROM guia
					INNER JOIN tipo_comprobante on tipo_comprobante.cod_tipo_comprobante = guia.cod_tipo_comprobante
					INNER JOIN cliente as remitente on remitente.nro_cliente = guia.remitente
					INNER JOIN cliente as destinatario on destinatario.nro_cliente = guia.destinatario
					LEFT JOIN razon_social as rr on rr.cod_razon_social = remitente.cod_razon_social
					LEFT JOIN razon_social as rd on rd.cod_razon_social = destinatario.cod_razon_social
					INNER JOIN tipo_estado_comprobante on 
					tipo_estado_comprobante.cod_tipo_estado_comprobante = guia.cod_tipo_estado_comprobante
					INNER JOIN servicio on servicio.cod_servicio = guia.cod_servicio
					INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
					INNER JOIN agencia as ag_destino on ag_destino.nro_agencia = servicio.agencia_destino
					INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
					INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
					where guia.nro_guia = '$nro_guia' and guia.cod_tipo_comprobante ='$tipo_comp' and guia.fecha = '$fecha'";

		$rs=consultar_fuente($sql);
		return $rs; 
	}
	
	function get_datos_cliente_guia($nro_guia,$tipo_comprobante,$fecha)
	{
		
		$sql='';
			$sql = "SELECT tipo_comprobante.abreviatura as tipo, nro_guia,fecha,
					loc_origen.nombre as localidad_origen, ag_origen.nombre as agencia_origen, 
					ag_destino.nombre as agencia_destino, loc_destino.nombre as localidad_destino,
					remitente.nro_cliente as nro_cliente_remitente,

					CASE remitente.tipo_cliente When '1'
						THEN ('CUIT_CUIL: ' || remitente.cuit_cuil) 
						Else (tipo_doc_remi.abreviatura || ': ' || remitente.nro_documento) END as documento_remitente,
					
					CASE remitente.tipo_cliente When '1' 
						THEN (remitente.nombre || ' ' || rr.abreviatura)  
						Else (remitente.apellido || ', ' || remitente.nombre) 
						END as remitente,
						
					CASE remitente.tipo_cliente When '1' 
						THEN 'Juridico'
						Else 'Fisico' 
					END as remitente_tipo_cliente,(remitente.calle || ' ' || remitente.nro_calle) as direccion_remitente,
					loc_remi.nombre as localidad_remitente, loc_remi.codigo_postal as codigo_postal_remitente,
					cond_iva_remi.descripcion as condicion_iva_remitente,
					remitente.email as email_remitente,destinatario.nro_cliente as nro_cliente_destinatario,

					CASE destinatario.tipo_cliente When '1'
						THEN ('CUIT_CUIL: ' || destinatario.cuit_cuil) 
						Else (tipo_doc_desti.abreviatura || ': ' || destinatario.nro_documento) END as documento_destinatario,

					CASE destinatario.tipo_cliente When '1' 
						THEN (destinatario.nombre || ' ' || rd.abreviatura)  
						Else (destinatario.apellido || ', ' || destinatario.nombre)
						END as destinatario,
					
					CASE destinatario.tipo_cliente When '1' 
						THEN 'Juridico'
						Else 'Fisico' 
					END as destinatario_tipo_cliente,(destinatario.calle || ' ' || destinatario.nro_calle) as direccion_destinatario,
					loc_desti.nombre as localidad_destinatario, loc_desti.codigo_postal as codigo_postal_destinatario,
					cond_iva_desti.descripcion as condicion_iva_destinatario,destinatario.email as email_destinatario,
					
					nro_remito,tipo_estado_comprobante.tipo_estado as estado,monto, guia.observacion
					 
					FROM guia
					INNER JOIN tipo_comprobante on tipo_comprobante.cod_tipo_comprobante = guia.cod_tipo_comprobante
					INNER JOIN cliente as remitente on remitente.nro_cliente = guia.remitente
					INNER JOIN cliente as destinatario on destinatario.nro_cliente = guia.destinatario
					LEFT JOIN razon_social as rr on rr.cod_razon_social = remitente.cod_razon_social
					LEFT JOIN razon_social as rd on rd.cod_razon_social = destinatario.cod_razon_social
					INNER JOIN tipo_estado_comprobante on 
					tipo_estado_comprobante.cod_tipo_estado_comprobante = guia.cod_tipo_estado_comprobante
					INNER JOIN servicio on servicio.cod_servicio = guia.cod_servicio
					INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
					INNER JOIN agencia as ag_destino on ag_destino.nro_agencia = servicio.agencia_destino
					INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
					INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
					INNER JOIN localidad as loc_remi on loc_remi.cod_localidad = remitente.cod_localidad
					inner join condicion_iva as cond_iva_remi on cond_iva_remi.cod_condicion_iva = remitente.cod_condicion_iva
					INNER JOIN localidad as loc_desti on loc_desti.cod_localidad = destinatario.cod_localidad
					inner join condicion_iva as cond_iva_desti on cond_iva_desti.cod_condicion_iva = destinatario.cod_condicion_iva
					INNER JOIN tipo_documento as tipo_doc_remi on tipo_doc_remi.cod_tipo_documento = remitente.cod_tipo_documento
					INNER JOIN tipo_documento as tipo_doc_desti on tipo_doc_desti.cod_tipo_documento = destinatario.cod_tipo_documento
					WHERE guia.nro_guia = '$nro_guia' AND guia.cod_tipo_comprobante ='$tipo_comprobante' AND guia.fecha = '$fecha'";

		$rs=consultar_fuente($sql);
		return $rs[0]; 
	}
	
	
	
	function get_localidades(){
		
		$sql='';
		$sql = "select agencia.cod_localidad, localidad.nombre from agencia inner join localidad on 
				localidad.cod_localidad=agencia.cod_localidad";
				
		return consultar_fuente($sql);

	}
	
	function get_localidad_origen_destino(){
		
		$sql='';
		$sql = "select cod_localidad, (localidad.nombre||','||provincia.nombre||','||pais.nombre) as localidad from localidad 
				inner join provincia on provincia.cod_provincia=localidad.cod_provincia 
				inner join pais on pais.cod_pais = provincia.cod_pais
				order by localidad.nombre";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs;
		}
		return $rs; 
	}
	
	function get_loc_origen_destino($localidad){
		
		$sql='';
		$sql = "SELECT cod_localidad, (localidad.nombre||','||provincia.nombre||','||pais.nombre) as localidad from localidad 
				INNER JOIN provincia on provincia.cod_provincia=localidad.cod_provincia 
				INNER JOIN pais on pais.cod_pais = provincia.cod_pais
				WHERE (localidad.nombre||','||provincia.nombre||','||pais.nombre) ILIKE '%$localidad%'
				ORDER BY localidad.nombre";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs;
		}
		return $rs; 
	}
	
	function get_localidad_origen($cod_servicio){
		
		$sql='';
		$sql = "SELECT servicio.cod_servicio,servicio.nombre as servicio_nombre,ag_origen.nro_agencia as nro_agencia_origen,
				ag_origen.nombre as nombre_agencia_origen,loc_origen.cod_localidad as cod_localidad_origen,
				(loc_origen.nombre ||','|| prov_origen.nombre||','|| pais_origen.nombre) as localidad_origen, 
				ag_destino.nro_agencia as nro_agencia_destino,ag_destino.nombre as nombre_agencia_destino,
				loc_destino.cod_localidad as cod_localidad_destino,
				(loc_destino.nombre ||','|| prov_destino.nombre ||','|| pais_destino.nombre) as localidad_destino

				FROM servicio
				INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
				INNER JOIN agencia as ag_destino on ag_destino.nro_agencia =  servicio.agencia_destino
				INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
				INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
				INNER JOIN provincia as prov_origen on prov_origen.cod_provincia = loc_origen.cod_provincia
				INNER JOIN provincia as prov_destino on prov_destino.cod_provincia = loc_destino.cod_provincia 
				INNER JOIN pais as pais_origen on pais_origen.cod_pais = prov_origen.cod_pais
				INNER JOIN pais as pais_destino on pais_destino.cod_pais = prov_destino.cod_pais
				WHERE servicio.cod_servicio = '$cod_servicio'";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['localidad_origen'];
		}
		return $rs; 
	}

	function get_localidad_destino($cod_servicio){
		
		$sql='';
		$sql = "SELECT servicio.cod_servicio,servicio.nombre as servicio_nombre,ag_origen.nro_agencia as nro_agencia_origen,
				ag_origen.nombre as nombre_agencia_origen,loc_origen.cod_localidad as cod_localidad_origen,
				(loc_origen.nombre ||','|| prov_origen.nombre||','|| pais_origen.nombre) as localidad_origen, 
				ag_destino.nro_agencia as nro_agencia_destino,ag_destino.nombre as nombre_agencia_destino,
				loc_destino.cod_localidad as cod_localidad_destino,
				(loc_destino.nombre ||','|| prov_destino.nombre ||','|| pais_destino.nombre) as localidad_destino

				FROM servicio
				INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
				INNER JOIN agencia as ag_destino on ag_destino.nro_agencia =  servicio.agencia_destino
				INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
				INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
				INNER JOIN provincia as prov_origen on prov_origen.cod_provincia = loc_origen.cod_provincia
				INNER JOIN provincia as prov_destino on prov_destino.cod_provincia = loc_destino.cod_provincia 
				INNER JOIN pais as pais_origen on pais_origen.cod_pais = prov_origen.cod_pais
				INNER JOIN pais as pais_destino on pais_destino.cod_pais = prov_destino.cod_pais
				WHERE servicio.cod_servicio = '$cod_servicio'";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['localidad_destino'];
		}
		return $rs; 
	}
	
	function get_localidad($cod_localidad){
		
		$sql='';
		$sql = "SELECT (localidad.nombre ||','|| provincia .nombre ||','|| pais.nombre) as localidad 
				FROM localidad
				INNER JOIN provincia on provincia.cod_provincia = localidad.cod_provincia
				INNER JOIN pais on pais.cod_pais = provincia.cod_pais
				WHERE localidad.cod_localidad =  '$cod_localidad'";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['localidad'];
		}
		return $rs; 
	}
	
	/*function get_loc_destino($cod_localidad_destino){
		
		$sql='';
		$sql = "SELECT (localidad.nombre ||','|| provincia .nombre ||','|| pais.nombre) as localidad_destino 
				FROM localidad
				INNER JOIN provincia on provincia.cod_provincia = localidad.cod_provincia
				INNER JOIN pais on pais.cod_pais = provincia.cod_pais
				WHERE localidad.cod_localidad = '$cod_localidad_destino'";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['localidad_origen'];
		}
		return $rs; 
	}*/

	function get_agencia_origen($cod_servicio){
		
		$sql='';
		$sql = "SELECT servicio.cod_servicio,servicio.nombre as servicio_nombre,ag_origen.nro_agencia as nro_agencia_origen,
				ag_origen.nombre as nombre_agencia_origen,loc_origen.cod_localidad as cod_localidad_origen,
				(loc_origen.nombre ||','|| prov_origen.nombre||','|| pais_origen.nombre) as localidad_origen, 
				ag_destino.nro_agencia as nro_agencia_destino,ag_destino.nombre as nombre_agencia_destino,
				loc_destino.cod_localidad as cod_localidad_destino,
				(loc_destino.nombre ||','|| prov_destino.nombre ||','|| pais_destino.nombre) as localidad_destino

				FROM servicio
				INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
				INNER JOIN agencia as ag_destino on ag_destino.nro_agencia =  servicio.agencia_destino
				INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
				INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
				INNER JOIN provincia as prov_origen on prov_origen.cod_provincia = loc_origen.cod_provincia
				INNER JOIN provincia as prov_destino on prov_destino.cod_provincia = loc_destino.cod_provincia 
				INNER JOIN pais as pais_origen on pais_origen.cod_pais = prov_origen.cod_pais
				INNER JOIN pais as pais_destino on pais_destino.cod_pais = prov_destino.cod_pais
				WHERE servicio.cod_servicio = '$cod_servicio'";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs [0]['nombre_agencia_origen'];
		}
		return $rs;
	}
	
	function get_agencia_destino($cod_servicio){
		
		$sql='';
		$sql = "SELECT servicio.cod_servicio,servicio.nombre as servicio_nombre,ag_origen.nro_agencia as nro_agencia_origen,
				ag_origen.nombre as nombre_agencia_origen,loc_origen.cod_localidad as cod_localidad_origen,
				(loc_origen.nombre ||','|| prov_origen.nombre||','|| pais_origen.nombre) as localidad_origen, 
				ag_destino.nro_agencia as nro_agencia_destino,ag_destino.nombre as nombre_agencia_destino,
				loc_destino.cod_localidad as cod_localidad_destino,
				(loc_destino.nombre ||','|| prov_destino.nombre ||','|| pais_destino.nombre) as localidad_destino

				FROM servicio
				INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
				INNER JOIN agencia as ag_destino on ag_destino.nro_agencia =  servicio.agencia_destino
				INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
				INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
				INNER JOIN provincia as prov_origen on prov_origen.cod_provincia = loc_origen.cod_provincia
				INNER JOIN provincia as prov_destino on prov_destino.cod_provincia = loc_destino.cod_provincia 
				INNER JOIN pais as pais_origen on pais_origen.cod_pais = prov_origen.cod_pais
				INNER JOIN pais as pais_destino on pais_destino.cod_pais = prov_destino.cod_pais
				WHERE servicio.cod_servicio ='$cod_servicio'";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['nombre_agencia_destino'];
		}
		return $rs; 
	}

	function get_agencia_origen_destino($cod_localidad){
		
		$sql='';
		$sql = "SELECT agencia.nro_agencia, agencia.nombre FROM agencia inner join localidad on 
				localidad.cod_localidad=agencia.cod_localidad 
				WHERE agencia.cod_localidad = '$cod_localidad' order by agencia.nombre";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs;
		}
		return $rs;
	}
	
	function get_horarios($servicio)	
	{    
		//ei_arbol($servicio);
		$cod_servicio = $servicio[0];
		$cod_horario = $servicio[1];
		$rs = (dao_servicio::get_horarios($cod_servicio,$cod_horario));
		
		if (! empty($rs)) {
			return $rs;
		}
		return $rs;
	}
	
	function get_cod_combinacion($cod_servicio,$cod_horario){
		
		$sql='';
		$sql = "	SELECT 	servicio_combinacion.cod_combinacion
					
					FROM servicio_combinacion
					
					INNER JOIN horario on (horario.cod_servicio, horario.cod_horario) = 
					(servicio_combinacion.cod_servicio, servicio_combinacion.cod_horario)
					INNER JOIN servicio on servicio.cod_servicio = horario.cod_servicio
	
					WHERE servicio_combinacion.cod_servicio = '$cod_servicio' and 
					servicio_combinacion.cod_horario = '$cod_horario'";
				
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs;
		}
		return $rs; 
	}
	
	function get_servicio_combinacion($cod_combinacion){
		
		$sql='';
		$sql = "	SELECT (loc_origen.nombre ||','|| prov_origen.nombre||','|| pais_origen.nombre) as localidad_origen,
					ag_origen.nombre as agencia_origen,horario.hora_salida as hora_salida,
					(loc_destino.nombre ||','|| prov_destino.nombre ||','|| pais_destino.nombre) as localidad_destino,
					ag_destino.nombre as agencia_destino,horario.hora_llegada as hora_llegada
					
					FROM servicio_combinacion
					
					INNER JOIN horario on (horario.cod_servicio, horario.cod_horario) = (servicio_combinacion.cod_servicio, servicio_combinacion.cod_horario)
					INNER JOIN servicio on servicio.cod_servicio = horario.cod_servicio
					INNER JOIN tipo_servicio on tipo_servicio.cod_tipo_servicio = servicio.cod_tipo_servicio
					INNER JOIN coche on coche.cod_coche = horario.cod_coche
					INNER JOIN servicio_personal on (servicio_personal.cod_servicio,servicio_personal.cod_horario) =
					(horario.cod_servicio,horario.cod_horario)
					INNER JOIN personal on personal.nro_personal = servicio_personal.nro_personal
					INNER JOIN tipo_documento on tipo_documento.cod_tipo_documento = personal.cod_tipo_documento
					INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
					INNER JOIN agencia as ag_destino on ag_destino.nro_agencia = servicio.agencia_destino
					INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
					INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
					INNER JOIN provincia as prov_origen on prov_origen.cod_provincia = loc_origen.cod_provincia
					INNER JOIN provincia as prov_destino on prov_destino.cod_provincia = loc_destino.cod_provincia 
					INNER JOIN pais as pais_origen on pais_origen.cod_pais = prov_origen.cod_pais
					INNER JOIN pais as pais_destino on pais_destino.cod_pais = prov_destino.cod_pais

					WHERE servicio_combinacion.cod_combinacion = '$cod_combinacion'";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs;
		}
		return $rs; 
	}
	
	function get_cod_servicio_combinacion($localidad_destino){
		
		$sql='';
		$sql = "	SELECT servicio_combinacion.cod_combinacion, (loc_origen.nombre ||','|| prov_origen.nombre||','|| pais_origen.nombre) as localidad_origen,
					ag_origen.nombre as agencia_origen,horario.hora_salida as hora_salida,
					(loc_destino.nombre ||','|| prov_destino.nombre ||','|| pais_destino.nombre) as localidad_destino,
					ag_destino.nombre as agencia_destino,horario.hora_llegada as hora_llegada
					
					FROM servicio_combinacion
					
					INNER JOIN horario on (horario.cod_servicio, horario.cod_horario) = (servicio_combinacion.cod_servicio, servicio_combinacion.cod_horario)
					INNER JOIN servicio on servicio.cod_servicio = horario.cod_servicio
					INNER JOIN tipo_servicio on tipo_servicio.cod_tipo_servicio = servicio.cod_tipo_servicio
					INNER JOIN coche on coche.cod_coche = horario.cod_coche
					INNER JOIN servicio_personal on (servicio_personal.cod_servicio,servicio_personal.cod_horario) =
					(horario.cod_servicio,horario.cod_horario)
					INNER JOIN personal on personal.nro_personal = servicio_personal.nro_personal
					INNER JOIN tipo_documento on tipo_documento.cod_tipo_documento = personal.cod_tipo_documento
					INNER JOIN agencia as ag_origen on ag_origen.nro_agencia = servicio.agencia_origen
					INNER JOIN agencia as ag_destino on ag_destino.nro_agencia = servicio.agencia_destino
					INNER JOIN localidad as loc_origen on loc_origen.cod_localidad = ag_origen.cod_localidad
					INNER JOIN localidad as loc_destino on loc_destino.cod_localidad = ag_destino.cod_localidad
					INNER JOIN provincia as prov_origen on prov_origen.cod_provincia = loc_origen.cod_provincia
					INNER JOIN provincia as prov_destino on prov_destino.cod_provincia = loc_destino.cod_provincia 
					INNER JOIN pais as pais_origen on pais_origen.cod_pais = prov_origen.cod_pais
					INNER JOIN pais as pais_destino on pais_destino.cod_pais = prov_destino.cod_pais

					WHERE loc_destino.cod_localidad = '$localidad_destino'";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs;
		}
		return $rs; 
	}
	
	function get_datos_cliente($nro_cliente=null)
	{
		
		$sql='';
			$sql = "SELECT nro_cliente, CASE tipo_cliente 
					When '1' 
						THEN ('CUIT_CUIL: ' || cuit_cuil) 
					Else (tipo_documento.abreviatura || ': ' || nro_documento) END as documento,
					CASE tipo_cliente 
					When '1' 
						THEN (nombre || ' ' || razon_social.abreviatura)  
					Else (apellido || ', ' || nombre) END as cliente,
					cod_condicion_iva, 
					
					CASE tipo_cliente 
					When '1' 
						THEN 'Juridico'
					Else 'Fisico' 
					END
					as tipo_cliente,(calle || ' ' || nro_calle) as direccion,email
					FROM cliente inner join razon_social on razon_social.cod_razon_social=cliente.cod_razon_social
					left join tipo_documento on tipo_documento.cod_tipo_documento = cliente.cod_tipo_documento
					where nro_cliente=$nro_cliente";		
					
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['cliente'];
		}
		return $rs; 
	} 
	
	function get_datos_remitente_destinatario_retirador ($nro_cliente)
	{
		
		$sql='';
			$sql = "SELECT cliente.nro_cliente, CASE tipo_cliente 
					When '1' 
						THEN ('CUIT_CUIL: ' || cuit_cuil) 
					Else (tipo_documento.abreviatura || ': ' || nro_documento) END as documento, 
					(calle || ' ' || nro_calle) as direccion,localidad.nombre as localidad,
					codigo_postal,condicion_iva.descripcion as condicion_iva
					FROM cliente 
					left join razon_social on razon_social.cod_razon_social=cliente.cod_razon_social
					left join tipo_documento on tipo_documento.cod_tipo_documento = cliente.cod_tipo_documento
					inner join localidad on localidad.cod_localidad = cliente.cod_localidad
					inner join condicion_iva on condicion_iva.cod_condicion_iva = cliente.cod_condicion_iva
					where cliente.nro_cliente=$nro_cliente";

			$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs; 
	}
	
	function get_cliente($nro_cliente=null)
	{
		
		$sql='';
			$sql = "SELECT CASE tipo_cliente When '1' THEN (nombre || ' ' || razon_social.abreviatura)
					Else (apellido || ', ' || nombre) END as cliente
					FROM cliente left join razon_social on razon_social.cod_razon_social=cliente.cod_razon_social
					where nro_cliente=$nro_cliente";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['cliente'];
		}
		return $rs; 
	}
	
	function get_remitente_guia($nro_cliente)
	{
		
		$sql='';
			$sql = "SELECT CASE tipo_cliente When '1' THEN (nombre || ' ' || razon_social.abreviatura)
					Else (apellido || ', ' || nombre) END as cliente
					FROM cliente left join razon_social on razon_social.cod_razon_social=cliente.cod_razon_social
					where nro_cliente=$nro_cliente";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['cliente'];
		}
		return $rs; 
	}
	
	function get_destinatario_guia($nro_cliente)
	{
		
		$sql='';
			$sql = "SELECT CASE tipo_cliente When '1' THEN (nombre || ' ' || razon_social.abreviatura)
					Else (apellido || ', ' || nombre) END as cliente
					FROM cliente left join razon_social on razon_social.cod_razon_social=cliente.cod_razon_social
					where nro_cliente=$nro_cliente";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['cliente'];
		}
		return $rs; 
	}
	
	function get_retirador_guia($nro_cliente)
	{
		
		$sql='';
			$sql = "SELECT CASE tipo_cliente When '1' THEN (nombre || ' ' || razon_social.abreviatura)
					Else (apellido || ', ' || nombre) END as cliente
					FROM cliente left join razon_social on razon_social.cod_razon_social=cliente.cod_razon_social
					where nro_cliente=$nro_cliente";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['cliente'];
		}
		return $rs; 
	}
	
	function get_tipo_comprob($cod_tipo_comprobante)
	{
		$sql='';
			$sql = "SELECT cod_tipo_comprobante,abreviatura 
					FROM tipo_comprobante
					WHERE tipo_comprobante.cod_tipo_comprobante = '$cod_tipo_comprobante'";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs; 
	}
	
	function get_tipo_comprobante ($condicion_empresa, $condicion_remitente)
	{
		
		$sql='';
			$sql = "select cod_condicion,regla_condicion.cod_tipo_comprobante,abreviatura from regla_condicion inner join tipo_comprobante 
					on tipo_comprobante.cod_tipo_comprobante = regla_condicion.cod_tipo_comprobante
					where 
					regla_condicion.cod_condicion_iva_empresa = $condicion_empresa and
					regla_condicion.cod_condicion_iva_cliente = $condicion_remitente";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs; 
	}
	
	function get_tipo_comprobante_guia ($nro_guia,$cod_tipo_comprobante,$fecha)
	{
		
		$sql='';
			$sql = "SELECT abreviatura
					FROM tipo_comprobante
					INNER JOIN guia on guia.cod_tipo_comprobante = tipo_comprobante.cod_tipo_comprobante
					WHERE guia.nro_guia = '$nro_guia' and guia.cod_tipo_comprobante = '$cod_tipo_comprobante' 
					and guia.fecha = '$fecha'";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs; 
	}
	
	
	function get_tipo_comprobante_remito ($cod_condicion_pago)
	{
		
		$sql='';
		$sql = "select cod_tipo_comprobante,abreviatura from tipo_comprobante where cod_tipo_comprobante = '$cod_condicion_pago'";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs; 
	}
	
	
	function get_condicion_empresa ()
	{
		
		$sql='';
			$sql = "select cod_condicion_iva from empresa";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['cod_condicion_iva'];
		}
		return $rs; 
	}
	
	function get_condicion_pago ()
	{
		
		$sql='';
			$sql = "select * from condicion_pago order by cod_condicion_pago";

		$rs=consultar_fuente($sql);
		return $rs; 
	}
	
	function get_hora_servicio ()
	{
		
		$sql='';
			$sql = "select * from condicion_pago";

		$rs=consultar_fuente($sql);
		return $rs; 
	}
	
	//------------------------------------------------------------------------------------------------
	//----Guia_form_guia_detalle----------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	function get_descripcion_producto ($cod_producto)
	{
		
		$sql='';
			$sql = "select cod_producto, descripcion from producto where cod_producto = $cod_producto";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['descripcion'];
		}
		return $rs; 
	}
	
		function get_cod_producto ($cod_producto)
	{
		
		$sql='';
			$sql = "select cod_producto, descripcion from producto where cod_producto = $cod_producto";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['cod_producto'];
		}
		return $rs; 
	}
	
	
	function get_medidas()
	{
		
		$sql='';
			$sql = "select * from medida";

		$rs=consultar_fuente($sql);
		return $rs; 
	}
	
	
	function get_medida($cod_medida)
	{
		
		$sql='';
		$sql = "select cod_medida, nombre from medida where medida.cod_medida = $cod_medida";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['cod_medida'];
		}
		return $rs;
	}
	
	function get_unidad($cod_medida)
	{
		
		$sql='';
			$sql = "select cod_unidad, abreviatura from unidad where unidad.cod_medida = $cod_medida 
					order by unidad.cod_unidad";

		$rs=consultar_fuente($sql);
		return $rs; 
	}
	
	function get_tarifa_peso($cod_servicio,$peso)
	{
		$sql='';
			$sql = "select rango.cod_rango,valor_max,valor_min,porcentaje,precio_neto, (precio_neto * porcentaje/100) as iva, 
					((precio_neto * porcentaje/100) + precio_neto) as total
					from tarifa 
					inner join rango on rango.cod_rango = tarifa.cod_rango
					inner join medida on medida.cod_medida = rango.cod_medida
					inner join categoria_iva on categoria_iva.cod_categoria_iva = tarifa.cod_categoria_iva
					where (rango.valor_min >= '$peso' and rango.valor_max <'$peso') and 
					tarifa.cod_servicio = '$cod_servicio'
					group by rango.cod_rango,valor_max,valor_min,porcentaje,precio_neto,iva,total";
					
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs;
	}
	
	function get_tarifa_volumen($peso,$largo,$ancho,$alto)
	{
		$volumen_aforado = (($largo * $ancho * $alto) / 6000);
		if ($volumen_aforado > $peso) {
			return $volumen_aforado;
		}
		if ($volumen_aforado < $peso) {
			return $peso;
		}
	}
	
	function get_tarifa_aforado($cod_servicio,$aforado)
	{
		
		$sql='';
			$sql = "select rango.cod_rango,valor_max,valor_min,porcentaje,precio_neto, (precio_neto * porcentaje/100) as iva, 
					((precio_neto * porcentaje/100) + precio_neto) as total
					from tarifa 
					inner join rango on rango.cod_rango = tarifa.cod_rango
					inner join medida on medida.cod_medida = rango.cod_medida
					inner join categoria_iva on categoria_iva.cod_categoria_iva = tarifa.cod_categoria_iva
					where (rango.valor_min >= '$aforado' and rango.valor_max <'$aforado') and 
					tarifa.cod_servicio = '$cod_servicio'
					group by rango.cod_rango,valor_max,valor_min,porcentaje,precio_neto,iva,total";
				
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs;
	}
	
	//------------------------------------------------------------------------------------------------
	//----Guia_form_concepto_envio----------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	function get_descripcion_concepto_envio($cod_concepto){
		$sql='';
		$sql="select descripcion from concepto_envio where cod_concepto = $cod_concepto";
	
		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['descripcion'];
		}
		return $rs;
	} 
	
	function get_monto_flete ()
	{
		
		$sql='';
			$sql = "";

		$rs=consultar_fuente($sql);
		return $rs; 
	}
	
	//------------------------------------------------------------------------------------------------
	//----Guia_form_descuento---------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	
	function get_descripcion_descuento ($cod_descuento)
	{
		
		$sql='';
			$sql = "select cod_descuento, descripcion, porcentaje from descuento 
					where cod_descuento = $cod_descuento";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0]['descripcion'];
		}
		return $rs; 
	}
	
	function get_monto_descuento ($cod_descuento,$monto)
	{
		
		$sql='';
			$sql = "select cod_descuento,porcentaje, (porcentaje /100 * '$monto') as total from descuento 
					where cod_descuento = '$cod_descuento'";

		$rs=consultar_fuente($sql);
		if (! empty($rs)) {
			return $rs[0];
		}
		return $rs; 
	}
	
	
	//------------------------------------------------------------------------------------------------
	//----Guia_form_guia_forma_pago-------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	function get_forma_pago ()
	{
		
		$sql='';
			$sql = "select * from forma_pago";

		$rs=consultar_fuente($sql);
		return $rs; 
	}
	
	//------------------------------------------------------------------------------------------------
	//----Guia_form_datos_clientes--------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	/*function get_telefono_cliente($nro_cliente){
		
		$sql='';
		$sql = "select nro_cliente, (prefijo || ' - ' || numero) as numero_tel 
				from telefono_cliente where nro_cliente=$nro_cliente";
		return consultar_fuente($sql);
	}*/
	}
?>
